2025-0603-2155 如何使用 UE GAS 实现弹反机制
为了能让主角进行弹反
进行按键绑定
角色身上需要有可供弹反的 collision
- 在 bp_player 身上创建
ParryCollision
需要有弹反动画
a_parry
a_parry_montage
- 需要有对应的 notification state
ns_parrywindow
- override 其 onbeginevent 和 on end event
- 将对应的 collision 打开 关闭
需要有 Parry_GA
- 按键之后 try activate
parry_ga
parry_ga
内部的逻辑
- ability activated
- play montage and wait
- 需要播放 parry 对应的 montage
- 然后需要监听 gameplay event
parry_success
parry_fail
- 或者只是正常结束 blend out
- end ability
为了能让敌方能被弹反
角色身上需要有攻击 collision
- 在 bp_player 上创建
attackCollision
需要有 stun ability 和动画
stun_ga
a_stun
a_stun_montage
需要有攻击动画
a_attack
a_attack_montage
- 需要有对应 notification state
ns_attackwindow
- override 其 on begin event 和 on end event
- 将对应 collision 开启 关闭
需要有 attack_ga
- begin play 之后根据 timer 每过 3s 自动触发
attack_ga
内部逻辑
- ability activated
- play montage and wait
- 播放 attack 对应 montage
- 监听 gameplay event
parry_success
parry_fail
- end ability
需要双方能够发生交互
对于玩家的 parrycollision
- on collision begin overlap
- 如果 other actor tag = enemy
- send gameplay event
parry_sucess
- 否则
- send gameplay event
parry_fail
注意事项
stun_ga
stun_ge
- 需要能够取消攻击,并且与
state.stun
互斥